What have you learned?
Needless to say that I have learned a LOT during the process of this project, I enconter a hanfull of problems that has me troubleshooting a bunch of electronics and programmation issues, this gave me so much knowledge that I feel now way more confident than before in these fields. Also I had to understand and real a lot about the component and the circuitry that I use and did.
Machine Design
The process of designing and building my machine went pretty well, I learned how efficient it is to design using a CAD program before trying to build and assemble something as complex as a machine. I also learn that the choice of material is super important to be able to make a machine that is stiff enouph to drive correctly motor with such torque. Also, wire managment is something that you have to think about while youre designing the machine, it is really something easy to underestimate, but this is primordial for a good system integration, circuitry needs to fit the machine in a way that it dosent stand in the way of the axes, and make sure that the wires are safely store somewhere following the design of the machine.
Another thing is that I design my machine using only one belt, using a corexy machine design, this mean that I drive my two stepper using the only belt, so my two axes move depending on the direction of my two motor, this was a reflexion challenge when writing the code, since I had to make my motor move respecting the way that the belt works.
Electronics
I learned A LOT in electronics during the realisation of this project, I learned how to design correctly your boards, how to read datasheet for component and integrate the knowledge of those datasheet into the design of your circuit. Working with the MSGEQ7 showed me a lot about how a multiplexer and a filter work, what the logic inside such a chip and how to use it correctly using the correct delay.
I also learn how primordial it is to always double check your cicuit for shorts or connection issues, I lost so much time trying to figure out where the problems was when it was only a short or a jumper issue.
I learned how to truly use a oscillospe as an essential tool in an electronic setup, how to see voltage in time can show you exactly what happen in your circuit, without the uses of an oscilloscope, troubleshooting my circuit would have been like working in the dark. this is an amazing tool that I'm really happy to have learned the utility of it.
I learned about interference and how a floating pin can send wrong data, I learn that the longer the wire, the more interference, and a jack audio floating is just the same as an antenna. I learned about current flowing into a circuit and how to design safe circuit.
I learned the limits of the attiny44 and feel like I could have gone further with a more powerful MCU like the Atmel 328. I learned about steppers and the way they work. I learned what was the meaning and the ways to decoupling and coupling your circuits, how we can make sure that we have a fair control of the transfer of energy in your boards.
This project gave me the chance to learn so much, I feel like this is such a win, i'm really happy with the knowledge I gain during the course of the program and this project.
Programmation
Using the Arduino IDE, I learned how to compress complex code and how to write clean lines of code that works! I feel more and more confident about programming my MCU and I feel like I have a better comprehension of how my electronics component is attached to my program. I now have a great comprehension on how to make serial read and write, how to interpret those result, analog or degital. I just really feel like I can now write code more efficient and cleaner.
Project Managment
I feel like the biggest chalenge in the course of this project was to manage the time and the to-do's list. Managing stress and deadlines. Documenting on the go and take a lot of visual support.
Being an ambitious project (at least for me), I learned to work in spiral and give myself multiple small goals instead of just a begining and a finality. Sure the project is not the dream I had at the first of the program, but it is working and now that I will have no mroe deadlines, I can now take my time to make it the dream I had.
I learned to never underestimate anything, you WILL encounter issues in every step of your design, don't think that a simple step will only take you 20 minute, it won't..
I learned to use my time efficiently by prioritizing my task and use my peers at a maximum. It is your project, but that dosen't mean you should not go fetch all the help you can get, multiple minds are better than a tired one! I also know now that if you start something, finish it in a short amount of time, don't stop and go do something else to go back to it later, you will have to do work again just to get you in the last mindset.
These are the major point I feel I learned during the process of the whole program and really put in pratice during the developpment of my project. I'm now way more confident in my CAD, electronics, programmation and time managment skills. Never give up, result are awsome!